package com.jdd.modules.area.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jdd.common.util.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 停车场计费规则模块表
 * @Author: jdd
 * @Date:   2021-07-13
 * @Version: V1.0
 */
@Data
@TableName("charge_rules_module")
@EqualsAndHashCode(callSuper = false)
@JsonIgnoreProperties(ignoreUnknown = true)
@Accessors(chain = true)
@ApiModel(value="charge_rules_module对象", description="停车场计费规则模块表")
public class ChargeRulesModule {

	/**主键id*/
	@TableId(type = IdType.ID_WORKER)
    @ApiModelProperty(value = "主键id")
	private String id;
	/**停车场计费规则id(对应charge_rules表主键id)*/
	@Excel(name = "停车场计费规则id(对应charge_rules表主键id)", width = 15)
    @ApiModelProperty(value = "停车场计费规则id(对应charge_rules表主键id)")
	private String chargeRulesId;
	/**计费类型  1按次 2按时段*/
	@Excel(name = "计费类型  1按次 2按时段", width = 15)
    @ApiModelProperty(value = "计费类型  1按次 2按时段")
	private Integer chargeType;
	/**起始时间(小时)*/
	@ApiModelProperty(value = "起始时间(小时)")
	private Integer startTimeHour;
	/**起始时间(分)*/
	@ApiModelProperty(value = "起始时间（分）")
	private Integer startTimeMinute;
	/**结束时间(小时)*/
	@ApiModelProperty(value = "结束时间(小时)")
	private Integer endTimeHour;
	/**起始时间(分)*/
	@ApiModelProperty(value = "结束时间(分)")
	private Integer endTimeMinute;
	/**一次收费金额(单位分)*/
	@Excel(name = "一次收费金额(单位分)", width = 15)
    @ApiModelProperty(value = "一次收费金额(单位分)")
	private Integer onceMoney;
	/**时段最高收费限额(单位分)*/
	@Excel(name = "时段最高收费限额(单位分)", width = 15)
    @ApiModelProperty(value = "时段最高收费限额(单位分)")
	private Integer rangeLimit;
	/**时段最高收费限额是否启用  1启用 2未启用*/
	@Excel(name = "时段最高收费限额是否启用  1启用 2未启用", width = 15)
    @ApiModelProperty(value = "时段最高收费限额是否启用  1启用 2未启用")
	private Integer rangeLimitEnable;
	/**首计时单位（分钟）*/
	@Excel(name = "首计时单位（分钟）", width = 15)
    @ApiModelProperty(value = "首计时单位（分钟）")
	private Integer firstUnit;
	/**首计时单位收费金额（单位分）*/
	@Excel(name = "首计时单位收费金额（单位分）", width = 15)
    @ApiModelProperty(value = "首计时单位收费金额（单位分）")
	private Integer firstMoney;
	/**每计时单位（分钟）*/
	@Excel(name = "每计时单位（分钟）", width = 15)
    @ApiModelProperty(value = "每计时单位（分钟）")
	private Integer timeUnit;
	/**每计时单位收费金额（单位分）*/
	@Excel(name = "每计时单位收费金额（单位分）", width = 15)
    @ApiModelProperty(value = "每计时单位收费金额（单位分）")
	private Integer moneyUnit;
	/**不足时段计费 1首计时计费 2不计费 3本时段计费*/
	@Excel(name = "不足时段计费 1首计时计费 2不计费 3本时段计费", width = 15)
	@ApiModelProperty(value = "不足时段计费 1首计时计费 2不计费 3本时段计费")
	private Integer notEnough;
	/**阶梯长度（单位分）*/
	@Excel(name = "阶梯长度（单位分）", width = 15)
	@ApiModelProperty(value = "阶梯长度（单位分）")
	private Integer timeStepDivide;
	/**创建人id*/
	@Excel(name = "创建人id", width = 15)
    @ApiModelProperty(value = "创建人id")
	private String createUserId;
	/**创建人名称*/
	@Excel(name = "创建人名称", width = 15)
    @ApiModelProperty(value = "创建人名称")
	private String createUserName;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**修改人id*/
	@Excel(name = "修改人id", width = 15)
    @ApiModelProperty(value = "修改人id")
	private String updateUserId;
	/**修改人名称*/
	@Excel(name = "修改人名称", width = 15)
    @ApiModelProperty(value = "修改人名称")
	private String updateUserName;
	/**修改时间*/
	@Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
	private Date updateTime;
}
